package com.example.computer_exam_training_sys.service;

import com.example.computer_exam_training_sys.dto.PracticeSummaryDTO;
import com.example.computer_exam_training_sys.entity.UserPractice;
import com.example.computer_exam_training_sys.vo.PracticeStatisticsVO;

import java.util.List;

public interface UserPracticeService {
    int insert(UserPractice practice);
    List<UserPractice> selectAll();
    List<UserPractice> selectByUserId(Integer userId);
    java.util.List<com.example.computer_exam_training_sys.vo.UserPracticeCourseVO> selectPracticeCourseByUserId(Integer userId);
    java.util.List<com.example.computer_exam_training_sys.vo.UserPracticeCourseVO> selectAllPracticeCourse();
    PracticeStatisticsVO getPracticeStatisticsByUserAndPoint(int userId, int pointId);
    PracticeSummaryDTO getPracticeSummary(int userId, int pointId);

    int countDistinctPoints(Integer userId, Integer courseId);  // 去重后的练习知识点数
    int countPointsByCourse(Integer courseId);                 // 某课程下知识点总数

}
